The embodiments described herein relate generally to automation systems and, more particularly, to high-availability automation systems that include multiple controllers.
At least some known automation systems include multiple controllers that have a preselected priority. For example, at least some known automation systems have a preselected active controller and a preselected standby controller. In the event of a failover, the active controller hands off control of the system to the standby controller. However, such systems may not take into consideration current operating conditions and status of the standby controller at the time of hand off. For example, a failure of the active controller may be caused in part by, or may itself cause, a communication issue between the standby controller and the rest of the system components. In such a situation, failover from the active controller to the standby controller may be impaired or prevented.
Moreover, at least some known automation systems include a preselected active controller and a plurality of standby controllers. In the event of a failure of the active controller, the system evaluates the operating conditions and statuses of each standby controller using a series of logical operations. However, as the number of failure modes and/or standby controllers increases, the number of logical operations that must be assessed increases to where organization and programming of the system failover software is very difficult.